Remote computing systems can enable users to remotely access hosted resources. Servers on the remote computing systems can execute programs and transmit signals indicative of a user interface to clients that can connect by sending signals over a network conforming to a communication protocol such as the TCP/IP protocol. Each connecting client may be provided a remote presentation session, i.e., an execution environment that includes a set of resources. Each client can transmit signals indicative of user input to the server and the server can apply the user input to the appropriate session. The clients may use remote presentation protocols such as the Remote Desktop Protocol (RDP) to connect to a server resource.
Remote presentation compression algorithms are employed to reduce the bandwidth of the display stream to levels that are acceptable for transmission over local area networks, wide area networks, and low-bandwidth networks. Such algorithms typically trade off CPU time on the server side for a lower required bandwidth. Compression algorithms may work well on certain image content. However, the algorithms may perform poorly on other types of content. For example, compression algorithms may work well on text but not on natural images. The output of these compression encoders may not the final stage to the network as there may be other layers involved such as bulk compression and remote presentation packet encapsulation. These other layers may also effect overall bandwidth usage. In some cases an image that encodes well with one bitmap encoder (codec) may compresses poorly with the remote presentation bulk compressor prior to network transmission.